The output of a so-called “True” Random Number Generator (TRNG) is typically based upon some physical source that exhibits entropy (i.e., randomness), such as the timing of irregular radioactive decay events, or thermal noise across a resistor. One source of randomness is the timing jitter of a Free Running Oscillator (FRO). An advantage of using a FRO as a source of randomness is that it can be built using standard digital circuit technologies, for instance on an Application Specific Integrated Circuit (ASIC). If a FRO circuit is truly running “free” (i.e., the FRO is not locking to periodic signals in its environment), taking periodic samples of the output of the FRO provides a source of randomness which can be used to generate true random numbers.
However, if a FRO does lock to a periodic signal in its environment (or a harmonic of such a signal), the amount of randomness in the samples of the FRO output is reduced. Locking to the sample frequency, or to a higher frequency used to time the sampling, may even completely eliminate the randomness of the samples. If a random number generator uses some form of post-processing of the generated values from the FRO samples, checking the generated random numbers for anomalies by statistical means may not reveal the locking. The post-processed values may still appear to be random, even if they are no longer truly random.